#ifndef TILE_TABLE_VIEW_H
#define TILE_TABLE_VIEW_H

#include <QTableView>

class AppStateModel;
class TileTableModel;
class TileTableView : public QTableView {
  Q_OBJECT
 public:
  explicit TileTableView(QWidget* parent = NULL);

  void setAppState(const AppStateModel* app_state) {
    app_state_model_ = app_state;
  }

 protected:
  void contextMenuEvent(QContextMenuEvent* event);

 private slots:
  void setChosenPackHelper();
  void setTilePositionOverrideHelper();
  void setCustomPixmapHelper();

 private:
  QString computedSelectionName() const;
  TileTableModel* tileModel() const;
  const AppStateModel* app_state_model_;
};

#endif // TILE_TABLE_VIEW_H
